/**
 * Enum representing the value to be stored in request interface.
 * @enum
 */
export enum RequestMethod {
  GET = "GET",
  POST = "POST",
  PUT = "PUT",
  DELETE = "DELETE",
  PATCH = "PATCH",
  HEAD = "HEAD",
  OPTIONS = "OPTIONS",
}

export enum ResponseStatusCode {
  OK = "200 OK",
  CREATED = "201 Created",
  ACCEPTED = "202 Accepted",
  NO_CONTENT = "204 No Content",
  BAD_REQUEST = "400 Bad Request",
  UNAUTHORIZED = "401 Unauthorized",
  FORBIDDEN = "403 Forbidden",
  NOT_FOUND = "404 Not Found",
  METHOD_NOT_ALLOWED = "405 Method Not Allowed",
  INTERNAL_SERVER_ERROR = "500 Internal Server Error",
  SERVICE_UNAVAILABLE = "503 Service Unavailable",
  ERROR = "Not Found",
}

export enum RequestDefault {
  NAME = "REST API",
  METHOD = RequestMethod.GET,
}

export enum WorkspaceDefault {
  NAME = "My Workspace",
}

export enum TeamDefault {
  NAME = "My Team",
}

export enum FolderDefault {
  NAME = "New Folder",
}

export enum CollectionDefault {
  NAME = "New Collection",
}

export enum RequestDataType {
  JSON = "JSON",
  XML = "XML",
  HTML = "HTML",
  TEXT = "Text",
  JAVASCRIPT = "JavaScript",
  GRAPHQL = "Graphql",
  IMAGE = "Image",
  PYTHON = "Python",
  CURL = "Curl",
  TESTJAVASCRIPT = "TestJavaScript",
  PRETESTJAVASCRIPT = "PreTestJavaScript",
}

export enum RequestDataset {
  FORMDATA = "Form Data",
  URLENCODED = "URL Encoded",
  RAW = "Raw",
  NONE = "None",
  BINARY = "Binary",
}

export enum RequestSection {
  PARAMETERS = "Parameters",
  AUTHORIZATION = "Authorization",
  HEADERS = "Headers",
  REQUEST_BODY = "Request Body",
}
export enum ResponseSection {
  RESPONSE = "Response",
  HEADERS = "Headers",
}

export enum ResponseFormatter {
  PRETTY = "Pretty",
  RAW = "Raw",
  PREVIEW = "Preview",
  VISUALIZE = "Visualize",
}

/**
 * Enum representing the properties of a request interface.
 * @enum
 */
export enum RequestProperty {
  METHOD = "method",
  BODY = "body",
  URL = "url",
  HEADERS = "headers",
  QUERY_PARAMS = "queryParams",
  AUTO_GENERATED_HEADERS = "autoGeneratedHeaders",
  RESPONSE = "response",
  STATE = "state",
  AUTH = "auth",
  REQUEST_IN_PROGRESS = "requestInProgress",
}

export enum RequestAuthProperty {
  BEARER_TOKEN = "bearerToken",
  BASIC_AUTH = "basicAuth",
  API_KEY = "apiKey",
}
export enum ContentTypeEnum {
  "application/json" = "application/json",
  "application/xml" = "application/xml",
  "application/x-www-form-urlencoded" = "application/x-www-form-urlencoded",
  "multipart/form-data" = "multipart/form-data",
  "application/javascript" = "application/javascript",
  "text/plain" = "text/plain",
  "text/html" = "text/html",
}
